import type { RouteRecordRaw } from 'vue-router';
/**
 * 路由meta对象参数说明
 * meta: {
 *      title:          菜单栏及 tagsView 栏、菜单搜索名称（国际化）
 *      hidden：        是否隐藏此路由
 *      icon：          菜单、tagsView 图标，阿里：加 `iconfont xxx`，fontawesome：加 `fa xxx`
 * }
 */

/**
 * 静态路由（默认路由）
 */
 export const staticRoutes: Array<RouteRecordRaw> = [
	{
    path: '/login',
    name: 'Login',
    component: () => import('@/views/login/index.vue'),
    meta: {
      hidden: true
    }
  },

  {
    path: '/404',
    name: '404',
    component: () => import('@/views/error/404.vue'),
    meta: {
      hidden: true
    }
  },

  {
    path: '/',
    component: () => import('@/layout/index.vue'),
    redirect: '/home',
    children: [{
      path: 'home',
      name: 'Home',
      component: () => import('@/views/home/index.vue'),
      meta: { 
        title: '首页', 
        icon: 'ele-HomeFilled', 
      }
    }]
  },
  {
    path: "/chat",
    component: () => import("@/layout/index.vue"),
    redirect: "/chat/home",
    name: "XChat",
    children: [
      {
        path: "home",
        name: "XChat",
        component: () => import("@/views/chat/index.vue"),
        meta: {
          title: "聊天室",
          // https://element-plus.gitee.io/zh-CN/component/icon.html#%E5%9B%BE%E6%A0%87%E9%9B%86%E5%90%88
          icon: "ele-ChatRound",
        },
      },
    ],
  },

];


/**
 * 定义动态路由
 * 一上来不加载的，需要根据用户权限，来选择加载相应的路由
 */
export const allAsyncRoutes: Array<RouteRecordRaw> = [
  {
    path:'/acl',
    component:()=>import('@/layout/index.vue'),
    redirect:'/acl/user/list',
    name:'Acl',
    meta:{
      title:'权限管理',
      icon:'ele-Setting'
    },
    children:[
      {
        path: "user/list",
        name: "User",
        component: () => import("@/views/acl/user/index.vue"),
        meta: {
          title: "用户管理",
        },
      },
      {
        path: "role/list",
        name: "Role",
        component: () => import("@/views/acl/role/index.vue"),
        meta: {
          title: "角色管理",
        },
      },
      {
        path: "role/auth",
        name: "RoleAuth",
        component: () => import("@/views/acl/roleAuth/index.vue"),
        meta: {
          title: "角色管理",
          hidden:true
        },
      },
      {
        path: "permission/list",
        name: "Permission",
        component: () => import("@/views/acl/permission/index.vue"),
        meta: {
          title: "菜单管理",
        },
      },
    ]
  },
  {
    path:'/product',
    component:()=>import('@/layout/index.vue'),
    redirect:'/product/trademark/list',
    name:'Product',
    meta:{
      title:'商品管理',
      icon:'ele-ShoppingBag',
    },
    children:[
      {
        path:'/trademark/list',
        name:'Trademark',
        component:()=> import('@/views/product/trademark/index.vue'),
        meta:{title:'品牌管理'}
      },
      {
        path:'/attr/list',
        name:'Attr',
        component:()=> import('@/views/product/attr/index.vue'),
        meta:{title:'平台属性管理'}
      },
      {
        path:'/spu/list',
        name:'Spu',
        component:()=> import('@/views/product/spu/index.vue'),
        meta:{title:'SPU管理'}
      }
    ]
  },
 

  /* 匹配任意的路由 必须最后注册 */
  { 
    path: '/:pathMatch(.*)', 
    name: 'Any',
    redirect: '/404', 
    meta: {
      hidden: true 
    }
  }
];

/* 匹配任意的路由 必须最后注册 */
export const anyRoute = {
  path: "/:pathMatch(.*)",
  name: "Any",
  redirect: "/404",
  meta: {
    hidden: true,
  },
};
